% !TeX root = ../CCNUthesis-doc.tex

\section{宏包依赖情况}

使用不同编译方式、指定不同选项，会导致宏包依赖情况有所不同。
具体如下：
\begin{itemize}
  \item 在任何情况下，本模板都会\emph{显式}调用以下宏包
    （或文档类）：
    \begin{itemize}
      \item \pkg{l3keys2e}，用于扩展 \LaTeX3 编程环境。它们属于 \pkg{l3packages} 宏集。
      \item \cls{ctexbook}，提供中文排版的通用框架。属于 \CTeX{} 宏集 。
      \item \pkg{geometry}，用于调整页面尺寸。
      \item \pkg{fancyhdr}，处理页眉页脚。
      \item \pkg{footmisc}，处理脚注。
      \item \pkg{graphicx}，提供图形插入的接口。
      \item \pkg{caption}，用于设置题注。
      \item \pkg{fontspec}，设置字体及字号。
      \item \pkg{tikzpagenodes}，封面、扉页元素定位。
      \item \pkg{tabularray}，表格宏包。
      \item \pkg{calc}，提供 \tn{settototalheight} 等命令处理封面下划线。
      \item \pkg{etoolbox}，给命令环境打补丁。
      \item \pkg{amsthm}、\pkg{thmtools}，提供定理类环境设置接口。
      \item \pkg{xeCJKfntef}，提供个人信息的下划线。
      \item \pkg{zhlineskip}，行距处理。
      \item \pkg{enumitem}，列表环境相关设置。
      \item \pkg{tocloft}，目录修改。
      \item \pkg{newtxmath} 和 \pkg{unicode-math}，如果 \kvopt{style/font}{newtx} 或 \kvopt{style/font}{times} 则加载前者，其余选项则载入后者。后者对 \LaTeX 的数学排版功能进行了全面扩展。属于 \AmSLaTeX 套件
      \item  \pkg{biblatex}，并依赖 \biber{} 程序。参考文献样式由\pkg{biblatex-gb7714-2015} 宏包提供。
      \item \pkg{hyperref}，提供交叉引用、超链接、电子书签等功能。
    \end{itemize}
  \item 开启 \kvopt{style/footnote-style}{pifont} 后，会调用
    \pkg{pifont} 宏包。它属于 \pkg{psnfss} 套件。
\end{itemize}

这里只列出了本模板直接调用的宏包。这些宏包自身的调用情况，此处不再具体展开。如有需要，请参阅相关文档。